home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Canvas;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.image.ImageObserver;
- import java.util.Date;
-
- public class DigitalClockCanvas2 extends Canvas implements Runnable {
- Thread theThread;
- boolean showSeconds;
- int speed = 1000;
- boolean militaryTime;
- Color theColor;
- Image osImage;
- Graphics osg;
- long secondsCount;
- int hours;
- int minutes;
- int seconds;
- long currCount;
- Color bkColor;
- Image bkImage;
- String hourString = "";
- String minuteString = "";
- String secondString = "";
- String amPMString = "";
- String message = "";
- static final long secondsPerDay = 86400L;
- static final int secondsPerHour = 3600;
-
- public DigitalClockCanvas2(Applet var1, int var2) {
- Date var3 = new Date();
- this.secondsCount = (long)(var3.getSeconds() + var3.getMinutes() * 60 + var3.getHours() * 3600);
- this.GetParameters(var1, var2);
- }
-
- void GetParameters(Applet var1, int var2) {
- String var3 = var1.getParameter("digitalClockShowSeconds" + var2);
- this.showSeconds = AppletParam2.GetBoolean(var3, true);
- var3 = var1.getParameter("digitalClockMilitaryTime" + var2);
- this.militaryTime = AppletParam2.GetBoolean(var3, false);
- var3 = var1.getParameter("digitalClockColor" + var2);
- this.theColor = AppletParam2.GetColor(var3, Color.black);
- var3 = var1.getParameter("digitalClockBkColor" + var2);
- this.bkColor = AppletParam2.GetColor(var3, (Color)null);
- if (this.bkColor != null) {
- ((Component)this).setBackground(this.bkColor);
- }
-
- var3 = var1.getParameter("digitalClockBkImage" + var2);
- this.bkImage = var1.getImage(var1.getCodeBase(), var3);
- }
-
- public void Start() {
- this.theThread = new Thread(this);
- this.theThread.start();
- }
-
- public void Stop() {
- this.theThread.stop();
- this.theThread = null;
- }
-
- public void update(Graphics var1) {
- if (this.osImage == null) {
- this.osImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
- this.osg = this.osImage.getGraphics();
- }
-
- this.osg.setColor(((Component)this).getBackground());
- this.osg.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
- if (this.bkImage != null) {
- int var2 = this.bkImage.getWidth(this);
- int var3 = this.bkImage.getHeight(this);
- int var4 = ((Component)this).size().width / var2;
- int var5 = ((Component)this).size().height / var3;
- ++var4;
- ++var5;
-
- for(int var6 = 0; var6 < var5; ++var6) {
- for(int var7 = 0; var7 < var4; ++var7) {
- this.osg.drawImage(this.bkImage, var7 * var2, var6 * var3, this);
- }
- }
- }
-
- FontMetrics var8 = this.osg.getFontMetrics();
- ((Component)this).size();
- ((Component)this).size();
- var8.getHeight();
- this.osg.setColor(this.theColor);
- this.DrawString(this.message, this.osg);
- var1.drawImage(this.osImage, 0, 0, (ImageObserver)null);
- }
-
- public void run() {
- while(true) {
- try {
- this.currCount = this.secondsCount;
- this.hours = (int)(this.currCount / 3600L);
- this.currCount -= (long)(this.hours * 3600);
- this.minutes = (int)(this.currCount / 60L);
- this.currCount -= (long)(this.minutes * 60);
- this.seconds = (int)this.currCount;
- this.hourString = "";
- this.minuteString = "";
- this.secondString = "";
- this.amPMString = "";
- if (this.militaryTime) {
- this.hourString = "" + this.hours;
- } else {
- int var1 = this.hours % 12;
- if (var1 == 0) {
- var1 = 12;
- }
-
- this.hourString = "" + var1;
- }
-
- if (this.minutes > 9) {
- this.minuteString = ":" + this.minutes;
- } else {
- this.minuteString = ":0" + this.minutes;
- }
-
- if (this.showSeconds) {
- if (this.seconds > 9) {
- this.secondString = ":" + this.seconds;
- } else {
- this.secondString = ":0" + this.seconds;
- }
- }
-
- if (!this.militaryTime) {
- this.amPMString = this.hours >= 12 ? " PM" : " AM";
- }
-
- this.message = this.hourString + this.minuteString + this.secondString + this.amPMString;
- ((Component)this).repaint();
- Thread.sleep((long)this.speed);
- ++this.secondsCount;
- if (this.secondsCount > 86400L) {
- this.secondsCount = 0L;
- }
- } catch (InterruptedException var2) {
- }
- }
- }
-
- void DrawSegmentZero(Graphics var1, int var2, int var3) {
- int var4 = var2 + var3 - 3;
- var1.drawLine(var2 + 1, 1, var4, 1);
- var1.drawLine(var2 + 2, 2, var4 - 1, 2);
- var1.drawLine(var2 + 3, 3, var4 - 2, 3);
- }
-
- void DrawSegmentOne(Graphics var1, int var2, int var3) {
- int var4 = ((Component)this).size().height / 2;
- var1.drawLine(var2 + 1, 3, var2 + 1, var4 - 1);
- var1.drawLine(var2 + 2, 4, var2 + 2, var4 - 2);
- var1.drawLine(var2 + 3, 5, var2 + 3, var4 - 3);
- }
-
- void DrawSegmentTwo(Graphics var1, int var2, int var3) {
- int var4 = var2 + var3 - 3;
- int var5 = ((Component)this).size().height / 2;
- var1.drawLine(var4, 3, var4, var5 - 1);
- var1.drawLine(var4 - 1, 4, var4 - 1, var5 - 2);
- var1.drawLine(var4 - 2, 5, var4 - 2, var5 - 3);
- }
-
- void DrawSegmentThree(Graphics var1, int var2, int var3) {
- int var4 = ((Component)this).size().height / 2;
- var1.drawLine(var2 + 3, var4 - 1, var2 + var3 - 5, var4 - 1);
- var1.drawLine(var2 + 2, var4, var2 + var3 - 4, var4);
- var1.drawLine(var2 + 3, var4 + 1, var2 + var3 - 5, var4 + 1);
- }
-
- void DrawSegmentFour(Graphics var1, int var2, int var3) {
- int var4 = ((Component)this).size().height / 2;
- var1.drawLine(var2 + 1, var4 + 1, var2 + 1, ((Component)this).size().height - 4);
- var1.drawLine(var2 + 2, var4 + 2, var2 + 2, ((Component)this).size().height - 5);
- var1.drawLine(var2 + 3, var4 + 3, var2 + 3, ((Component)this).size().height - 6);
- }
-
- void DrawSegmentFive(Graphics var1, int var2, int var3) {
- int var4 = ((Component)this).size().height / 2;
- int var5 = var2 + var3 - 3;
- var1.drawLine(var5, var4 + 1, var5, ((Component)this).size().height - 4);
- var1.drawLine(var5 - 1, var4 + 2, var5 - 1, ((Component)this).size().height - 5);
- var1.drawLine(var5 - 2, var4 + 3, var5 - 2, ((Component)this).size().height - 6);
- }
-
- void DrawSegmentSix(Graphics var1, int var2, int var3) {
- int var4 = ((Component)this).size().height - 2;
- int var5 = var2 + var3 - 3;
- var1.drawLine(var2 + 3, var4 - 2, var5 - 2, var4 - 2);
- var1.drawLine(var2 + 2, var4 - 1, var5 - 1, var4 - 1);
- var1.drawLine(var2 + 1, var4, var5, var4);
- }
-
- void DrawSegmentSeven(Graphics var1, int var2, int var3) {
- int var4 = var2 + var3 / 2 - 3;
- int var5 = ((Component)this).size().height / 2 - 1;
- int var6 = var5 - 3;
- var1.drawLine(var4, 5, var4, var6);
- var1.drawLine(var4 + 1, 5, var4 + 1, var6);
- var1.drawLine(var4 + 2, 5, var4 + 2, var6);
- }
-
- void DrawSegmentEight(Graphics var1, int var2, int var3) {
- int var4 = ((Component)this).size().height / 2 - 1;
- int var5 = ((Component)this).size().height - 5;
- int var6 = var2 + var3 / 2 - 3;
- var1.drawLine(var6, var4 + 4, var6, var5);
- var1.drawLine(var6 + 1, var4 + 4, var6 + 1, var5);
- var1.drawLine(var6 + 2, var4 + 4, var6 + 2, var5);
- }
-
- void DrawSegmentNine(Graphics var1, int var2, int var3) {
- int var4 = var2 + var3 - 3;
- int var5 = ((Component)this).size().height / 2;
- var1.drawLine(var2 + 6, 5, var4 - 4, var5 - 4);
- var1.drawLine(var2 + 5, 5, var4 - 4, var5 - 3);
- var1.drawLine(var2 + 5, 6, var4 - 5, var5 - 3);
- }
-
- void DrawSegmentTen(Graphics var1, int var2, int var3) {
- int var4 = var2 + var3 - 3;
- int var5 = ((Component)this).size().height / 2;
- var1.drawLine(var2 + 6, var5 - 4, var4 - 4, 5);
- var1.drawLine(var2 + 5, var5 - 3, var4 - 4, 5);
- var1.drawLine(var2 + 5, var5 - 3, var4 - 5, 6);
- }
-
- void DrawSegmentEleven(Graphics var1, int var2, int var3) {
- int var4 = var2 + var3 - 3;
- int var5 = ((Component)this).size().height / 2;
- int var6 = ((Component)this).size().height - 2;
- var1.drawLine(var2 + 6, var5 + 3, var4 - 4, var6 - 5);
- var1.drawLine(var2 + 5, var5 + 3, var4 - 4, var6 - 4);
- var1.drawLine(var2 + 5, var5 + 4, var4 - 5, var6 - 4);
- }
-
- void DrawSegmentTwelve(Graphics var1, int var2, int var3) {
- int var4 = var2 + var3 - 3;
- int var5 = ((Component)this).size().height / 2;
- int var6 = ((Component)this).size().height - 2;
- var1.drawLine(var2 + 5, var6 - 5, var4 - 5, var5 + 3);
- var1.drawLine(var2 + 5, var6 - 4, var4 - 4, var5 + 3);
- var1.drawLine(var2 + 6, var6 - 4, var4 - 4, var5 + 4);
- }
-
- void DrawColon(Graphics var1, int var2, int var3) {
- int var4 = ((Component)this).size().height / 2 - 1;
- int var5 = var2 + var3 / 2 - 2;
- int var6 = var4 / 2 - 2;
- byte var7 = 4;
- byte var8 = 4;
- var1.fillOval(var5, var6, var7, var8);
- var6 = var4 + var4 / 2 - 2;
- var1.fillOval(var5, var6, var7, var8);
- }
-
- void DrawSegments(Graphics var1, int var2, int var3, boolean var4, boolean var5, boolean var6, boolean var7, boolean var8, boolean var9, boolean var10, boolean var11, boolean var12, boolean var13, boolean var14, boolean var15, boolean var16) {
- if (var4) {
- this.DrawSegmentZero(var1, var2, var3);
- }
-
- if (var5) {
- this.DrawSegmentOne(var1, var2, var3);
- }
-
- if (var6) {
- this.DrawSegmentTwo(var1, var2, var3);
- }
-
- if (var7) {
- this.DrawSegmentThree(var1, var2, var3);
- }
-
- if (var8) {
- this.DrawSegmentFour(var1, var2, var3);
- }
-
- if (var9) {
- this.DrawSegmentFive(var1, var2, var3);
- }
-
- if (var10) {
- this.DrawSegmentSix(var1, var2, var3);
- }
-
- if (var11) {
- this.DrawSegmentSeven(var1, var2, var3);
- }
-
- if (var12) {
- this.DrawSegmentEight(var1, var2, var3);
- }
-
- if (var13) {
- this.DrawSegmentNine(var1, var2, var3);
- }
-
- if (var14) {
- this.DrawSegmentTen(var1, var2, var3);
- }
-
- if (var15) {
- this.DrawSegmentEleven(var1, var2, var3);
- }
-
- if (var16) {
- this.DrawSegmentTwelve(var1, var2, var3);
- }
-
- }
-
- void DrawChar(char var1, Graphics var2, int var3, int var4) {
- switch (var1) {
- case '0':
- this.DrawSegments(var2, var3, var4, true, true, true, false, true, true, true, false, false, false, false, false, false);
- return;
- case '1':
- this.DrawSegments(var2, var3, var4, false, false, true, false, false, true, false, false, false, false, false, false, false);
- return;
- case '2':
- this.DrawSegments(var2, var3, var4, true, false, true, true, true, false, true, false, false, false, false, false, false);
- return;
- case '3':
- this.DrawSegments(var2, var3, var4, true, false, true, true, false, true, true, false, false, false, false, false, false);
- return;
- case '4':
- this.DrawSegments(var2, var3, var4, false, true, true, true, false, true, false, false, false, false, false, false, false);
- return;
- case '5':
- this.DrawSegments(var2, var3, var4, true, true, false, true, false, true, true, false, false, false, false, false, false);
- return;
- case '6':
- this.DrawSegments(var2, var3, var4, true, true, false, true, true, true, true, false, false, false, false, false, false);
- return;
- case '7':
- this.DrawSegments(var2, var3, var4, true, false, true, false, false, true, false, false, false, false, false, false, false);
- return;
- case '8':
- this.DrawSegments(var2, var3, var4, true, true, true, true, true, true, true, false, false, false, false, false, false);
- return;
- case '9':
- this.DrawSegments(var2, var3, var4, true, true, true, true, false, true, true, false, false, false, false, false, false);
- return;
- case ':':
- this.DrawColon(var2, var3, var4);
- return;
- case 'A':
- this.DrawSegments(var2, var3, var4, true, true, true, true, true, true, false, false, false, false, false, false, false);
- return;
- case 'M':
- this.DrawSegments(var2, var3, var4, true, true, true, false, true, true, false, true, true, false, false, false, false);
- return;
- case 'P':
- this.DrawSegments(var2, var3, var4, true, true, true, true, true, false, false, false, false, false, false, false, false);
- return;
- default:
- }
- }
-
- void DrawString(String var1, Graphics var2) {
- if (var1.length() > 0) {
- int var3 = ((Component)this).size().width / var1.length();
-
- for(int var4 = 0; var4 < var1.length(); ++var4) {
- int var5 = var3 * var4;
- char var6 = var1.charAt(var4);
- this.DrawChar(var6, var2, var5, var3);
- }
- }
-
- }
-
- public synchronized void reshape(int var1, int var2, int var3, int var4) {
- super.reshape(var1, var2, var3, var4);
- this.osImage = null;
- this.osg = null;
- }
- }
-